"""
字符串的使用和常用方法
"""
#字符串的乘法 。对当前字符串复制
s1 = "hello " * 3
print("对字符串进行复制：",s1)
#字符串的加法，字符串的拼接
s2 = 'world'
s1 += s2
print("对字符串进行拼接：",s1)
#判断当前字符串 是True否False 包指定字符串
print( "ll" in s1) #True
print( 'good' not in s1) #True


#切片  对字符串按照索引值进行截取
str2 = "abc123456"
print("获取当前字符串索引值为2的字符:",str2[2])#获取当前字符串索引值为2的字符
print("根据起始索引和结束索引进行截取字符串：",str2[2:5])#c12 左闭右开区间
print("从索引值为2开截取，一直到到末尾，步长为2：",str2[2::2])# 如果结束索引值不写，默认是末尾索引值 c246
print("从头到尾开始截取，每一次移动2个索引：",str2[::2])#ac246
print("字符串反转：",str2[::-1])#654321cba
print('从末尾倒数索引值，进行结束',str2[-3:-1])#45

#字符串常用方法
str1 = 'hello,world'
#获取字符串的长度
print("获取字符串的长度：", len(str1))
print("获得字符串首字母大写（不会改变字符串，而是生成新的字符串）",str1.capitalize())
print("获得字符串每个单词首字母大写：",str1.title())
print("将字符串全部大写：",str1.upper())

#从字符串子串的位置 find
print("从字符串子串的位置 ,返回起始子字符串所在的索引值:",str1.find("or"))
print("从字符串子串的位置 ,返回起始子字符串所在的索引值，不存在返回-1:",str1.find('good'))# 不报错 -1

#从字符串子串的位置 index
print("从字符串子串的位置 ,返回起始子字符串所在的索引值:",str1.index("or")) # 7 
#print("从字符串子串的位置 ,返回起始子字符串所在的索引值,不存在则报错",str1.index('good'))# A.报错

#判断字符串是否以指定的字符串开头
print(str1.startswith("He")) #False
#判断字符串是否以指定的字符串结尾
print(str1.endswith("ld")) #True

#修改的字符串的长度,且居中，空白位置以指定的字符串进行填充
print(str1.center(50,"*"))
#修改的字符串的长度,且居右，空白位置以指定的字符串进行填充
print(str1.rjust(50,"-"))
#str2 = "abc123456"
print("检查字符串是否由纯数字组成：",str2.isdigit()) # False
print("检查字符串是否由纯字母组成：",str2.isalpha()) # False
print("检查字符串是否由数字和字母组成：",str2.isalnum()) #True

str3="   aab   bccc        "
print("去除字符串左右两边的空格:",str3.strip(),str3.replace(" ",""))